package com.ruoyi.life.service;

import com.ruoyi.life.domain.vo.CreateBillVo;
import com.ruoyi.life.domain.vo.QyEnterpriseOtherFeeVO;
import com.ruoyi.omp.api.domain.FeLeaseRecord;
import com.ruoyi.omp.api.domain.vo.RoomVO;

import java.util.List;

/**
 * 租赁记录Service接口
 *
 * @author cjie
 * @date 2021-09-17
 */
public interface IFeLeaseRecordService {
    /**
     * 查询租赁记录
     *
     * @param id 租赁记录ID
     * @return 租赁记录
     */
     FeLeaseRecord selectFeLeaseRecordById(String id);

    /**
     * 查询租赁记录列表
     *
     * @param feLeaseRecord 租赁记录
     * @return 租赁记录集合
     */
     List<FeLeaseRecord> selectFeLeaseRecordList(FeLeaseRecord feLeaseRecord);


    /**
     * 通过enterpriseId查询租赁记录
     *
     * @param enterpriseId 企业id
     * @return 租赁记录
     */
    FeLeaseRecord selectFeLeaseRecordByEnterpriseId(String enterpriseId);


    List<FeLeaseRecord> getRecordListByEnterpriseId(String enterpriseId);



    /**
     * 新增租赁记录
     *
     * @param feLeaseRecord 租赁记录
     * @return 结果
     */
     int insertFeLeaseRecord(FeLeaseRecord feLeaseRecord);

    /**
     * 修改租赁记录
     *
     * @param feLeaseRecord 租赁记录
     * @return 结果
     */
     int updateFeLeaseRecord(FeLeaseRecord feLeaseRecord);

    /**
     * 批量删除租赁记录
     *
     * @param ids 需要删除的租赁记录ID
     * @return 结果
     */
     int deleteFeLeaseRecordByIds(String[] ids);

    /**
     * 删除租赁记录信息
     *
     * @param id 租赁记录ID
     * @return 结果
     */
     int deleteFeLeaseRecordById(String id);

    /**
     * 通过租赁记录id 查询房屋信息
     * @param recordId 租赁记录ID
     * @return
     */
    List<RoomVO> selectRoomByRecordId(String recordId);

    /**
     * 删除
     * @param enterpriseId
     * @return
     */
    int delByFeLeaseRecordByEnterpriseId(String enterpriseId);

    int createBill(CreateBillVo createBillVo);

    List<QyEnterpriseOtherFeeVO> selectOtherFeeList(FeLeaseRecord feLeaseRecord);

    QyEnterpriseOtherFeeVO selectOtherFeeById(String id);

    int updateOtherFee(QyEnterpriseOtherFeeVO vo);

    
}
